// #include <buola/cv/coctreeview.h>
// #include <buola/app/ceventloop.h>
// #include <buola/cv/coccupancyoctree.h>
// #include <buola/cv/ccloud.h>
// #include <buola/cv/ccloudview.h>
// 
// using namespace buola;

int main(int pNArg,char **pArgs)
{
//     buola_init(pNArg,pArgs);
// 
//     try
//     {
//         cvi::COccupancyOcTree lTree(0.1);
// 
//         start_timer();
//         auto lCloud=cvi::load_cloud(io::get_home()/"gazebo.tif",io::get_home()/"gazebo.ppm",io::get_home()/"gazebo.info");
//         end_timer();
// 
//         start_timer();
//         lTree.InsertCloud(lCloud);
//         end_timer();
// 
//         mat::CVec3d lCenter=center(lCloud);
// 
//         for(auto i=lTree.begin();i!=lTree.end();++i)
//         {
//             cvi::CCloud_rgb8::TPoint lP;
// 
//             lP.mPos=i.Coords();
// 
//             if(i->Value()>0)
//             {
//                 lP.mData[0]=255;
//                 lP.mData[1]=0;
//                 lP.mData[2]=0;
//             }
//             else
//             {
//                 lP.mData[0]=127;
//                 lP.mData[1]=127;
//                 lP.mData[2]=127;
//             }
// 
//             lCloud.push_back(lP);
//         }
//         
//         gui::CWindow lWindow;
//         cvi::CCloudView lView;
//         lWindow.Attach(&lView,gui::ATTACH_REPLACECLIENT);
//         lView.SetCloud(std::move(lCloud));
//         lView.SetCameraPos(lCenter-mat::CVec3d({30,0,0}));
// 
//         lWindow.Map(CSize_d(800,600));
//         set_main_window(&lWindow);
// 
//         get_main_event_loop().Loop();
//     }
//     catch(std::exception &pE)
//     {
//         msg_info() << "caught exception " << pE.what() << "\n";
//     }
// 
//     return buola_finish();
}
